<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span id="local-6989586621679057743"><span id="local-6989586621679057744"><span id="local-6989586621679057745"><span id="local-6989586621679057746"><span id="local-6989586621679057747"></span></span></span></span></span><span class="hs-pragma">{-# LANGUAGE CPP #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE DeriveGeneric #-}</span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Exts.Heap.ClosureTypes</span><span>
</span><span id="line-5"></span><span>    </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#ClosureType"><span class="hs-identifier">ClosureType</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-6"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#closureTypeHeaderSize"><span class="hs-identifier">closureTypeHeaderSize</span></a></span><span>
</span><span id="line-7"></span><span>    </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-8"></span><span>
</span><span id="line-9"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-comment">-- See note [Why do we import Prelude here?]</span><span>
</span><span id="line-10"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/GHC.Generics.html#"><span class="hs-identifier">GHC.Generics</span></a></span><span>
</span><span id="line-11"></span><span>
</span><span id="line-12"></span><span class="hs-comment">{- ---------------------------------------------
-- Enum representing closure types
-- This is a mirror of:
-- includes/rts/storage/ClosureTypes.h
-- ---------------------------------------------}</span><span>
</span><span id="line-17"></span><span>
</span><span id="line-18"></span><span id="local-6989586621679057735"><span id="local-6989586621679057736"></span></span><span class="hs-keyword">data</span><span> </span><span id="ClosureType"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#ClosureType"><span class="hs-identifier hs-var">ClosureType</span></a></span></span><span>
</span><span id="line-19"></span><span>    </span><span class="hs-glyph">=</span><span> </span><span id="INVALID_OBJECT"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#INVALID_OBJECT"><span class="hs-identifier hs-var">INVALID_OBJECT</span></a></span></span><span>
</span><span id="line-20"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="CONSTR"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#CONSTR"><span class="hs-identifier hs-var">CONSTR</span></a></span></span><span>
</span><span id="line-21"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="CONSTR_1_0"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#CONSTR_1_0"><span class="hs-identifier hs-var">CONSTR_1_0</span></a></span></span><span>
</span><span id="line-22"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="CONSTR_0_1"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#CONSTR_0_1"><span class="hs-identifier hs-var">CONSTR_0_1</span></a></span></span><span>
</span><span id="line-23"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="CONSTR_2_0"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#CONSTR_2_0"><span class="hs-identifier hs-var">CONSTR_2_0</span></a></span></span><span>
</span><span id="line-24"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="CONSTR_1_1"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#CONSTR_1_1"><span class="hs-identifier hs-var">CONSTR_1_1</span></a></span></span><span>
</span><span id="line-25"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="CONSTR_0_2"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#CONSTR_0_2"><span class="hs-identifier hs-var">CONSTR_0_2</span></a></span></span><span>
</span><span id="line-26"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="CONSTR_NOCAF"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#CONSTR_NOCAF"><span class="hs-identifier hs-var">CONSTR_NOCAF</span></a></span></span><span>
</span><span id="line-27"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="FUN"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#FUN"><span class="hs-identifier hs-var">FUN</span></a></span></span><span>
</span><span id="line-28"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="FUN_1_0"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#FUN_1_0"><span class="hs-identifier hs-var">FUN_1_0</span></a></span></span><span>
</span><span id="line-29"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="FUN_0_1"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#FUN_0_1"><span class="hs-identifier hs-var">FUN_0_1</span></a></span></span><span>
</span><span id="line-30"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="FUN_2_0"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#FUN_2_0"><span class="hs-identifier hs-var">FUN_2_0</span></a></span></span><span>
</span><span id="line-31"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="FUN_1_1"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#FUN_1_1"><span class="hs-identifier hs-var">FUN_1_1</span></a></span></span><span>
</span><span id="line-32"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="FUN_0_2"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#FUN_0_2"><span class="hs-identifier hs-var">FUN_0_2</span></a></span></span><span>
</span><span id="line-33"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="FUN_STATIC"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#FUN_STATIC"><span class="hs-identifier hs-var">FUN_STATIC</span></a></span></span><span>
</span><span id="line-34"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="THUNK"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK"><span class="hs-identifier hs-var">THUNK</span></a></span></span><span>
</span><span id="line-35"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="THUNK_1_0"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK_1_0"><span class="hs-identifier hs-var">THUNK_1_0</span></a></span></span><span>
</span><span id="line-36"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="THUNK_0_1"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK_0_1"><span class="hs-identifier hs-var">THUNK_0_1</span></a></span></span><span>
</span><span id="line-37"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="THUNK_2_0"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK_2_0"><span class="hs-identifier hs-var">THUNK_2_0</span></a></span></span><span>
</span><span id="line-38"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="THUNK_1_1"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK_1_1"><span class="hs-identifier hs-var">THUNK_1_1</span></a></span></span><span>
</span><span id="line-39"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="THUNK_0_2"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK_0_2"><span class="hs-identifier hs-var">THUNK_0_2</span></a></span></span><span>
</span><span id="line-40"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="THUNK_STATIC"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK_STATIC"><span class="hs-identifier hs-var">THUNK_STATIC</span></a></span></span><span>
</span><span id="line-41"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="THUNK_SELECTOR"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK_SELECTOR"><span class="hs-identifier hs-var">THUNK_SELECTOR</span></a></span></span><span>
</span><span id="line-42"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="BCO"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#BCO"><span class="hs-identifier hs-var">BCO</span></a></span></span><span>
</span><span id="line-43"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="AP"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#AP"><span class="hs-identifier hs-var">AP</span></a></span></span><span>
</span><span id="line-44"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="PAP"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#PAP"><span class="hs-identifier hs-var">PAP</span></a></span></span><span>
</span><span id="line-45"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="AP_STACK"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#AP_STACK"><span class="hs-identifier hs-var">AP_STACK</span></a></span></span><span>
</span><span id="line-46"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="IND"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#IND"><span class="hs-identifier hs-var">IND</span></a></span></span><span>
</span><span id="line-47"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="IND_STATIC"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#IND_STATIC"><span class="hs-identifier hs-var">IND_STATIC</span></a></span></span><span>
</span><span id="line-48"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="RET_BCO"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#RET_BCO"><span class="hs-identifier hs-var">RET_BCO</span></a></span></span><span>
</span><span id="line-49"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="RET_SMALL"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#RET_SMALL"><span class="hs-identifier hs-var">RET_SMALL</span></a></span></span><span>
</span><span id="line-50"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="RET_BIG"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#RET_BIG"><span class="hs-identifier hs-var">RET_BIG</span></a></span></span><span>
</span><span id="line-51"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="RET_FUN"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#RET_FUN"><span class="hs-identifier hs-var">RET_FUN</span></a></span></span><span>
</span><span id="line-52"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="UPDATE_FRAME"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#UPDATE_FRAME"><span class="hs-identifier hs-var">UPDATE_FRAME</span></a></span></span><span>
</span><span id="line-53"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="CATCH_FRAME"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#CATCH_FRAME"><span class="hs-identifier hs-var">CATCH_FRAME</span></a></span></span><span>
</span><span id="line-54"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="UNDERFLOW_FRAME"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#UNDERFLOW_FRAME"><span class="hs-identifier hs-var">UNDERFLOW_FRAME</span></a></span></span><span>
</span><span id="line-55"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="STOP_FRAME"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#STOP_FRAME"><span class="hs-identifier hs-var">STOP_FRAME</span></a></span></span><span>
</span><span id="line-56"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="BLOCKING_QUEUE"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#BLOCKING_QUEUE"><span class="hs-identifier hs-var">BLOCKING_QUEUE</span></a></span></span><span>
</span><span id="line-57"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="BLACKHOLE"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#BLACKHOLE"><span class="hs-identifier hs-var">BLACKHOLE</span></a></span></span><span>
</span><span id="line-58"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="MVAR_CLEAN"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#MVAR_CLEAN"><span class="hs-identifier hs-var">MVAR_CLEAN</span></a></span></span><span>
</span><span id="line-59"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="MVAR_DIRTY"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#MVAR_DIRTY"><span class="hs-identifier hs-var">MVAR_DIRTY</span></a></span></span><span>
</span><span id="line-60"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="TVAR"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#TVAR"><span class="hs-identifier hs-var">TVAR</span></a></span></span><span>
</span><span id="line-61"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="ARR_WORDS"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#ARR_WORDS"><span class="hs-identifier hs-var">ARR_WORDS</span></a></span></span><span>
</span><span id="line-62"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="MUT_ARR_PTRS_CLEAN"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#MUT_ARR_PTRS_CLEAN"><span class="hs-identifier hs-var">MUT_ARR_PTRS_CLEAN</span></a></span></span><span>
</span><span id="line-63"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="MUT_ARR_PTRS_DIRTY"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#MUT_ARR_PTRS_DIRTY"><span class="hs-identifier hs-var">MUT_ARR_PTRS_DIRTY</span></a></span></span><span>
</span><span id="line-64"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="MUT_ARR_PTRS_FROZEN_DIRTY"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#MUT_ARR_PTRS_FROZEN_DIRTY"><span class="hs-identifier hs-var">MUT_ARR_PTRS_FROZEN_DIRTY</span></a></span></span><span>
</span><span id="line-65"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="MUT_ARR_PTRS_FROZEN_CLEAN"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#MUT_ARR_PTRS_FROZEN_CLEAN"><span class="hs-identifier hs-var">MUT_ARR_PTRS_FROZEN_CLEAN</span></a></span></span><span>
</span><span id="line-66"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="MUT_VAR_CLEAN"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#MUT_VAR_CLEAN"><span class="hs-identifier hs-var">MUT_VAR_CLEAN</span></a></span></span><span>
</span><span id="line-67"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="MUT_VAR_DIRTY"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#MUT_VAR_DIRTY"><span class="hs-identifier hs-var">MUT_VAR_DIRTY</span></a></span></span><span>
</span><span id="line-68"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="WEAK"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#WEAK"><span class="hs-identifier hs-var">WEAK</span></a></span></span><span>
</span><span id="line-69"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="PRIM"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#PRIM"><span class="hs-identifier hs-var">PRIM</span></a></span></span><span>
</span><span id="line-70"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="MUT_PRIM"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#MUT_PRIM"><span class="hs-identifier hs-var">MUT_PRIM</span></a></span></span><span>
</span><span id="line-71"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="TSO"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#TSO"><span class="hs-identifier hs-var">TSO</span></a></span></span><span>
</span><span id="line-72"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="STACK"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#STACK"><span class="hs-identifier hs-var">STACK</span></a></span></span><span>
</span><span id="line-73"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="TREC_CHUNK"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#TREC_CHUNK"><span class="hs-identifier hs-var">TREC_CHUNK</span></a></span></span><span>
</span><span id="line-74"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="ATOMICALLY_FRAME"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#ATOMICALLY_FRAME"><span class="hs-identifier hs-var">ATOMICALLY_FRAME</span></a></span></span><span>
</span><span id="line-75"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="CATCH_RETRY_FRAME"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#CATCH_RETRY_FRAME"><span class="hs-identifier hs-var">CATCH_RETRY_FRAME</span></a></span></span><span>
</span><span id="line-76"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="CATCH_STM_FRAME"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#CATCH_STM_FRAME"><span class="hs-identifier hs-var">CATCH_STM_FRAME</span></a></span></span><span>
</span><span id="line-77"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="WHITEHOLE"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#WHITEHOLE"><span class="hs-identifier hs-var">WHITEHOLE</span></a></span></span><span>
</span><span id="line-78"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="SMALL_MUT_ARR_PTRS_CLEAN"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#SMALL_MUT_ARR_PTRS_CLEAN"><span class="hs-identifier hs-var">SMALL_MUT_ARR_PTRS_CLEAN</span></a></span></span><span>
</span><span id="line-79"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="SMALL_MUT_ARR_PTRS_DIRTY"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#SMALL_MUT_ARR_PTRS_DIRTY"><span class="hs-identifier hs-var">SMALL_MUT_ARR_PTRS_DIRTY</span></a></span></span><span>
</span><span id="line-80"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="SMALL_MUT_ARR_PTRS_FROZEN_DIRTY"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#SMALL_MUT_ARR_PTRS_FROZEN_DIRTY"><span class="hs-identifier hs-var">SMALL_MUT_ARR_PTRS_FROZEN_DIRTY</span></a></span></span><span>
</span><span id="line-81"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="SMALL_MUT_ARR_PTRS_FROZEN_CLEAN"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#SMALL_MUT_ARR_PTRS_FROZEN_CLEAN"><span class="hs-identifier hs-var">SMALL_MUT_ARR_PTRS_FROZEN_CLEAN</span></a></span></span><span>
</span><span id="line-82"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="COMPACT_NFDATA"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#COMPACT_NFDATA"><span class="hs-identifier hs-var">COMPACT_NFDATA</span></a></span></span><span>
</span><span id="line-83"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="N_CLOSURE_TYPES"><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#N_CLOSURE_TYPES"><span class="hs-identifier hs-var">N_CLOSURE_TYPES</span></a></span></span><span>
</span><span id="line-84"></span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679057632"><span id="local-6989586621679057634"><span id="local-6989586621679057638"><span id="local-6989586621679057642"><span id="local-6989586621679057644"><span id="local-6989586621679057654"><span id="local-6989586621679057660"><span id="local-6989586621679057668"><span class="annot"><span class="annottext">Int -&gt; ClosureType
ClosureType -&gt; Int
ClosureType -&gt; [ClosureType]
ClosureType -&gt; ClosureType
ClosureType -&gt; ClosureType -&gt; [ClosureType]
ClosureType -&gt; ClosureType -&gt; ClosureType -&gt; [ClosureType]
(ClosureType -&gt; ClosureType)
-&gt; (ClosureType -&gt; ClosureType)
-&gt; (Int -&gt; ClosureType)
-&gt; (ClosureType -&gt; Int)
-&gt; (ClosureType -&gt; [ClosureType])
-&gt; (ClosureType -&gt; ClosureType -&gt; [ClosureType])
-&gt; (ClosureType -&gt; ClosureType -&gt; [ClosureType])
-&gt; (ClosureType -&gt; ClosureType -&gt; ClosureType -&gt; [ClosureType])
-&gt; Enum ClosureType
forall a.
(a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (Int -&gt; a)
-&gt; (a -&gt; Int)
-&gt; (a -&gt; [a])
-&gt; (a -&gt; a -&gt; [a])
-&gt; (a -&gt; a -&gt; [a])
-&gt; (a -&gt; a -&gt; a -&gt; [a])
-&gt; Enum a
enumFromThenTo :: ClosureType -&gt; ClosureType -&gt; ClosureType -&gt; [ClosureType]
$cenumFromThenTo :: ClosureType -&gt; ClosureType -&gt; ClosureType -&gt; [ClosureType]
enumFromTo :: ClosureType -&gt; ClosureType -&gt; [ClosureType]
$cenumFromTo :: ClosureType -&gt; ClosureType -&gt; [ClosureType]
enumFromThen :: ClosureType -&gt; ClosureType -&gt; [ClosureType]
$cenumFromThen :: ClosureType -&gt; ClosureType -&gt; [ClosureType]
enumFrom :: ClosureType -&gt; [ClosureType]
$cenumFrom :: ClosureType -&gt; [ClosureType]
fromEnum :: ClosureType -&gt; Int
$cfromEnum :: ClosureType -&gt; Int
toEnum :: Int -&gt; ClosureType
$ctoEnum :: Int -&gt; ClosureType
pred :: ClosureType -&gt; ClosureType
$cpred :: ClosureType -&gt; ClosureType
succ :: ClosureType -&gt; ClosureType
$csucc :: ClosureType -&gt; ClosureType
</span><a href="../../base/src/GHC.Enum.html#Enum"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Enum</span></a></span></span></span></span></span></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679057627"><span id="local-6989586621679057629"><span class="annot"><span class="annottext">ClosureType -&gt; ClosureType -&gt; Bool
(ClosureType -&gt; ClosureType -&gt; Bool)
-&gt; (ClosureType -&gt; ClosureType -&gt; Bool) -&gt; Eq ClosureType
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: ClosureType -&gt; ClosureType -&gt; Bool
$c/= :: ClosureType -&gt; ClosureType -&gt; Bool
== :: ClosureType -&gt; ClosureType -&gt; Bool
$c== :: ClosureType -&gt; ClosureType -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679057607"><span id="local-6989586621679057609"><span id="local-6989586621679057612"><span id="local-6989586621679057615"><span id="local-6989586621679057618"><span id="local-6989586621679057620"><span id="local-6989586621679057622"><span class="annot"><span class="annottext">Eq ClosureType
Eq ClosureType
-&gt; (ClosureType -&gt; ClosureType -&gt; Ordering)
-&gt; (ClosureType -&gt; ClosureType -&gt; Bool)
-&gt; (ClosureType -&gt; ClosureType -&gt; Bool)
-&gt; (ClosureType -&gt; ClosureType -&gt; Bool)
-&gt; (ClosureType -&gt; ClosureType -&gt; Bool)
-&gt; (ClosureType -&gt; ClosureType -&gt; ClosureType)
-&gt; (ClosureType -&gt; ClosureType -&gt; ClosureType)
-&gt; Ord ClosureType
ClosureType -&gt; ClosureType -&gt; Bool
ClosureType -&gt; ClosureType -&gt; Ordering
ClosureType -&gt; ClosureType -&gt; ClosureType
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: ClosureType -&gt; ClosureType -&gt; ClosureType
$cmin :: ClosureType -&gt; ClosureType -&gt; ClosureType
max :: ClosureType -&gt; ClosureType -&gt; ClosureType
$cmax :: ClosureType -&gt; ClosureType -&gt; ClosureType
&gt;= :: ClosureType -&gt; ClosureType -&gt; Bool
$c&gt;= :: ClosureType -&gt; ClosureType -&gt; Bool
&gt; :: ClosureType -&gt; ClosureType -&gt; Bool
$c&gt; :: ClosureType -&gt; ClosureType -&gt; Bool
&lt;= :: ClosureType -&gt; ClosureType -&gt; Bool
$c&lt;= :: ClosureType -&gt; ClosureType -&gt; Bool
&lt; :: ClosureType -&gt; ClosureType -&gt; Bool
$c&lt; :: ClosureType -&gt; ClosureType -&gt; Bool
compare :: ClosureType -&gt; ClosureType -&gt; Ordering
$ccompare :: ClosureType -&gt; ClosureType -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></a></span></span></span></span></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679057600"><span id="local-6989586621679057602"><span id="local-6989586621679057604"><span class="annot"><span class="annottext">Int -&gt; ClosureType -&gt; ShowS
[ClosureType] -&gt; ShowS
ClosureType -&gt; String
(Int -&gt; ClosureType -&gt; ShowS)
-&gt; (ClosureType -&gt; String)
-&gt; ([ClosureType] -&gt; ShowS)
-&gt; Show ClosureType
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; String) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [ClosureType] -&gt; ShowS
$cshowList :: [ClosureType] -&gt; ShowS
show :: ClosureType -&gt; String
$cshow :: ClosureType -&gt; String
showsPrec :: Int -&gt; ClosureType -&gt; ShowS
$cshowsPrec :: Int -&gt; ClosureType -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall x. ClosureType -&gt; Rep ClosureType x)
-&gt; (forall x. Rep ClosureType x -&gt; ClosureType)
-&gt; Generic ClosureType
forall x. Rep ClosureType x -&gt; ClosureType
forall x. ClosureType -&gt; Rep ClosureType x
forall a.
(forall x. a -&gt; Rep a x) -&gt; (forall x. Rep a x -&gt; a) -&gt; Generic a
$cto :: forall x. Rep ClosureType x -&gt; ClosureType
$cfrom :: forall x. ClosureType -&gt; Rep ClosureType x
</span><a href="../../base/src/GHC.Generics.html#Generic"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-85"></span><span>
</span><span id="line-86"></span><span class="hs-comment">-- | Return the size of the closures header in words</span><span>
</span><span id="line-87"></span><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#closureTypeHeaderSize"><span class="hs-identifier hs-type">closureTypeHeaderSize</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Exts.Heap.ClosureTypes.html#ClosureType"><span class="hs-identifier hs-type">ClosureType</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-88"></span><span id="closureTypeHeaderSize"><span class="annot"><span class="annottext">closureTypeHeaderSize :: ClosureType -&gt; Int
</span><a href="GHC.Exts.Heap.ClosureTypes.html#closureTypeHeaderSize"><span class="hs-identifier hs-var hs-var">closureTypeHeaderSize</span></a></span></span><span> </span><span id="local-6989586621679057594"><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057594"><span class="hs-identifier hs-var">closType</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-89"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057594"><span class="hs-identifier hs-var">closType</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-90"></span><span>        </span><span id="local-6989586621679057593"><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057593"><span class="hs-identifier hs-var">ct</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK"><span class="hs-identifier hs-var">THUNK</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType -&gt; ClosureType -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057593"><span class="hs-identifier hs-var">ct</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%26%26"><span class="hs-operator hs-var">&amp;&amp;</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057593"><span class="hs-identifier hs-var">ct</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType -&gt; ClosureType -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK_0_2"><span class="hs-identifier hs-var">THUNK_0_2</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679057590"><span class="hs-identifier hs-var">thunkHeader</span></a></span><span>
</span><span id="line-91"></span><span>        </span><span id="local-6989586621679057589"><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057589"><span class="hs-identifier hs-var">ct</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057589"><span class="hs-identifier hs-var">ct</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType -&gt; ClosureType -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="GHC.Exts.Heap.ClosureTypes.html#THUNK_SELECTOR"><span class="hs-identifier hs-var">THUNK_SELECTOR</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679057590"><span class="hs-identifier hs-var">thunkHeader</span></a></span><span>
</span><span id="line-92"></span><span>        </span><span id="local-6989586621679057588"><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057588"><span class="hs-identifier hs-var">ct</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057588"><span class="hs-identifier hs-var">ct</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType -&gt; ClosureType -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="GHC.Exts.Heap.ClosureTypes.html#AP"><span class="hs-identifier hs-var">AP</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679057590"><span class="hs-identifier hs-var">thunkHeader</span></a></span><span>
</span><span id="line-93"></span><span>        </span><span id="local-6989586621679057587"><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057587"><span class="hs-identifier hs-var">ct</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="#local-6989586621679057587"><span class="hs-identifier hs-var">ct</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType -&gt; ClosureType -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">ClosureType
</span><a href="GHC.Exts.Heap.ClosureTypes.html#AP_STACK"><span class="hs-identifier hs-var">AP_STACK</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679057590"><span class="hs-identifier hs-var">thunkHeader</span></a></span><span>
</span><span id="line-94"></span><span>        </span><span class="annot"><span class="annottext">ClosureType
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679057586"><span class="hs-identifier hs-var">header</span></a></span><span>
</span><span id="line-95"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-96"></span><span>    </span><span id="local-6989586621679057586"><span class="annot"><span class="annottext">header :: Int
</span><a href="#local-6989586621679057586"><span class="hs-identifier hs-var hs-var">header</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679057582"><span class="hs-identifier hs-var">prof</span></a></span><span>
</span><span id="line-97"></span><span>    </span><span id="local-6989586621679057590"><span class="annot"><span class="annottext">thunkHeader :: Int
</span><a href="#local-6989586621679057590"><span class="hs-identifier hs-var hs-var">thunkHeader</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679057582"><span class="hs-identifier hs-var">prof</span></a></span><span class="hs-cpp">
#if defined(PROFILING)
</span><span>    </span><span class="hs-identifier">prof</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-number">2</span><span class="hs-cpp">
#else
</span><span>    </span><span id="local-6989586621679057582"><span class="annot"><span class="annottext">prof :: Int
</span><a href="#local-6989586621679057582"><span class="hs-identifier hs-var hs-var">prof</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-cpp">
#endif
</span></pre></body></html>